Four-by-four bit multiplier module having three stages of logic cells

ABSTRACT

This invention is a logic design defining the interconnection of logic cells such as those Universal Logic Gates to implement either a 1&#39;&#39;s complement (all positive) or a 2&#39;&#39;s complement 4 X 4-bit binary multiplier. This multiplier generates the binary product of any two 4-bit binary numbers such that the input signals propagate serially through at most only three logic gating (cell) stages. An extension of the multiplier&#39;&#39;s basic logic partition scheme permits design of larger multipliers in which adders and 4 X 4bit multipliers are used as building blocks. A detailed 8 X 8bit multiplier design is presented to concretely describe the approach. The &#39;&#39;&#39;&#39;2&#39;&#39;s-complement&#39;&#39;&#39;&#39; 4 X 4-bit multiplier&#39;&#39;s logic partition is almost identical to the one used in the (all positive) 4 X 4-bit multiplier design, incorporating subfunctions which are nearly all identical to their counterparts in the (all positive) multiplier.

United States Patent Gaskill, Jr. et al.

l l FOUR-BY-FOUR BIT MULTIPLIER MODULE HAVING THREE STAGES OF LOGIC CELLS [75] Inventors: James R. Gaskill, Jr., Pacific Palisades; Lawrence R. Weill, Seal Beach, both of Calif.

[73] Assignee: Hughes Aircraft Company, Culver City, Calif.

[22] Filed: May 13, 1974 [21] Appl. No.: 469,131

[52] US. Cl. 235/164 [51] Int. Cl. G06F 7/52 [58] Field of Search 235/164, 175

[56] References Cited UNITED STATES PATENTS 3,524,977 8/1970 Wang 235/164 3,670,956 6/1972 Calhoun 235/164 3,752,971 8/1973 Calhoun 235/164 3,795,880 3/1974 Singh et al. 235/164 Primary ExaminerDavid H. Malzahn Attorney, Agent, or FirmJohn M. May; W. H. MacAllister [5 7] ABSTRACT This invention is a logic design defining the interconnection of logic cells such as those Universal Logic Gates to implement either a ls complement (all positive) or a 2s complement 4 X 4-bit binary multiplier. This multiplier generates the binary product of any two 4-bit binary numbers such that the input signals propagate serially through at most only three logic gating (cell) stages.

An extension of the multipliers basic logic partition scheme permits design of larger multipliers in which adders and 4X 4-bit multipliersare used as building blocks. A detailed 8 X 8-bit multiplier design is presented to concretely describe the approach.

The Zs-complement 4 X 4-bit multipliers-logic partition is almost identical to the one used in the (all positive) 4 X 4-bit multiplier design, incorporating subfunctions which are nearly all identical to their counterparts in the (all positive) multiplier.

5 Claims, 15 Drawing Figures U.S. Patent Oct. 21, 1975 Sheet1of13 3,914,589

US. Patent Oct. 21, 1975 Sheet2of13 3,914,589

US. Patent Oct. 21, 1975 Sheet3of 13 3,914,589

U.S. Patent Oct. 21, 1975 Sheet4ofl3 3,914,589

U.S. Patent 0a. 21, 1975 Fig.5.

Sheet 5 of 13 US. Patent Oct.21, 1975 Sheet6of13 3,914,589

U.S. Patent Oct. 21, 1975 Fig.6b.

Sheet 7 of 13 7 O w a E rllllL (L2) RE Sheet 9 of 13 3,914,589

U.S. Patent Oct. 21, 1975 US. Patent Oct.21, 1975 Sheet 10of13 3,914,589

U.S. Patent Oct.21, 1975 Sheet110f13 3,914,589

E Q QFY W L X I l ll IIIL K 3 2m 23:58 55522 32:25 :5 5 mo 2mg wEow US. Patent Oct. 21, 1975 Sheet 13 of13 3,914,589

(Second Level Input) FOUR-BY-FOUR BIT MULTIPLIER MODULE HAVING THREE STAGES OF LOGIC CELLS BACKGROUND OF THE INVENTION PRIOR ART Multiplier logic designs implemented to date fall into 2 categories: (1) multipliers constructed using arrays of commercially fabricated MSI integrated circuits, and

Multiplier built using commercial M81 The Motorola ALU (MC-10181) is frequently used as a building block for multipliers. A 4 X 4-bit multiplier can be realized using 3 MC-lOl8l ICs plus some additional gating. The propagation delay and power dissipation for this multiplier would depend on how the array was built. To compare it fairly with LSI, it is assumed that Motorola chips are assembled in a hybrid package (reducing cable delay between parts and reducing termination power dissipation). In this case the multiplier delay would range between about 24 and 32 nanoseconds and its power dissipation would vary between 2.8 and 3.5 watts.

By way of contrast, the 4 X 4-bit multiplier design described in this application would subtend between 7 and 8 nanoseconds delay and consume about 3 watts if its cascode cell circuitry were fabricated on a similar production line.

L81 4 X 4-Bit Multiplier Special multiplier arrays'built using special cells and LSI or hybrid connected can also be contrasted with the design disclosed here. One such multiplier was developed under Air Force Contract F 33615-7 l-C-1467 and desribed in High Speed Digital filters, D.R. Breuer et a], Interim Technical Report, July 1972, pp. 3653. This multiplier is constructed (100% yield) in LSI. It is built by interconnecting 16 identical cells, each of which contains 2, 3-level, specially tailored cascode circuits. That report discloses both the multiplier logic design, and schematic diagram for each identical call. Even though this multiplier uses a (logically) more poserful 3-level cascode cell which is moreover custom designed for use in just this multiplier circuit, it subtends a nominal 28 ns delay. This is because its logic design requires signal path propagation through a seven stage delay cell interconnection. The circuit dissipates about 1 watt its relatively small (good) power delay product is achieved because the cell array has apparently been fabricated in a very high quality IC line.

OBJECTS OF THE INVENTION In many digital computers and in digital radar signal processors, higher speed arithmetic components such as multipliers, adders, and the like, can be used to reduce the hardware cost of the system and/or to improve system performance. This is the case because higher speed components can be operated at a higher data rate (words or operations per second) and therefore fewer high speed components can be used to replace several of their conventional counterparts. In signal processors, multipliers are particularly important. They are used in fairly large numbers in the range focusing,

amplitude weighting, pulse compression, and particularly, in the filter processor sections of such radar signal processors.

Accordingly, it is a first object of the present invention to provide a 4 X 4-bit binary multiplier module having a higher speed than that available from prior art components.

It is a second object of the present invention to provide a multiplier module capable of expansion into larger multipliers.

It is a third object of the present invention to provide a multiplier logic design which simplifies implementation of the multiplier using universal logic blocks.

It is a fourth object of the present invention to provide a 4 X 4-bit binary multiplier requiring the input signal to propagate serially through at most only 3 logic gating stages.

A specific object of the present invention is to provide for a multiplier logic design capable of implementation using the logic building blocks of a type known as Modular Unit Delay Universal Logic Gates.

CROSS REFERENCE TO RELATED APPLICATIONS The application of .I. R. Gaskill, Jr., and B. C. Devendorf, entitled Universal Logic Gate, Ser. No. 450,114, filed on Mar. 11, 1974 and assigned to the same assignee as the present application, describes modular unit delay universal logic blocks which may be used in a preferred embodiment of the present inven tion and is incorporated by reference hereby in its entirety.

BRIEF DESCRIPTION OF THE FIGURES FIG. 1 illustrates the logic design for a preferred embodiment of the 6 X 4-bit adder required to implement an (all positive) 4 X 4-bit multiplier of the present invention.

FIG. 2 (comprising FIGS. 2a and 2b assembled as indicated) illustrates the logic synthesis used to specify the various multi-function logic blocks.

FIG. 3 illustrates a logic simplification of a particular multiplier output function.

FIG. 4, comprising FIGS. 4a and 4b illustrates the synthesis of typical multiplier functions as specified in FIG. 2 using the universal logic gates of the above referenced co-pending application.

FIG. 5 also illustrates a synthesis using universal logic gates, but of a multiplier logic function of a higher degree of complexity that is illustrated in FIG. 4.

FIG. 6 (comprising FIGS. 6a through 6d, assembled as indicated) illustrates the interconnection scheme of a preferred embodiment of the present invention using the logic cells of the above reference application to form a 4 X 4-bit all-positive multiplier.

FIG. 7 (comprising FIGS. 7a and 7b, assembled as indicated) represents an alternate embodiment of the present invention and is a logic synthesis diagram specifying a 3-stage 4 X 4-bit 2s complement multiplier.

FIG. 8 illustrates how the multiplier of-the present invention may be used as a module to construct an 8 X 8-bit multiplier.

FIG. 9 shows the logic synthesis using the logic cells of the above reference application for implementing the carry propagate circuit of FIG. 8.

SUMMARY OF THE INVENTION Briefly, the present invention is directed to a 4 X 4-bit multiplier module wherein the signals are required to propagate serially through at most only three logic gating stages. A special 6 by 4 bit adder is responsive to signals representative of selected digits of partial products S and T and generates intermediate variables at a first stage and then at the second stage forms from these intermediate variables the three most significant output digits.

The multiplier module of the present invention referred to briefly above and described in greater detail below permits the performance of binary multiplication operations at between 2 and 3 times faster and with smaller attendant multiplier hardware costs than any other comparable multipliers available, depending on the type of integrated circuit processing used.

If the circuits were to be fabricated (processed) using an up-to-date, high performance IC processing technique, the multiplier would probably have between 7 and 8 nanoseconds delay and the power dissipation of the circuit would be about 3.2 watts. Therefore, a multiplication rate of greater than 100 megawords per second would be possible.

These performance figures contrast favorably with those of the other comparable multipliers described above.

DETAILED DESCRIPTION OF THE INVENTION The Universal Logic Gate (ULG) patent application referenced above describes the cascode circuit (cell) and the way that cascode cells can be parallel interconnected to implement any 4-input logic function, thereby constituting a modular ULG family. Accordingly, given the availability of unit delay ULGs, the multiplier logic design of the present invention may specify a 3-stage network of small logic blocks and the logic function to be performed by each is based on Boolean algebra and the numerical properties of binary multiplication. The logic design thus derived is then refined and tailored to make fuller use of cascode cell logic synthesis capabilities. (The cells can frequently mechanize functions of more than four input variables while subject to the same interconnection restrictions as in 4-input ULG synthesis, thereby implementing the larger functions in the same one stage ULG delay.)

Development of Logic Partitions for a 3-Stage 4 X 4-bit Binary Multiplier The foundation of the 4 X 4-bit multiplier logic design is the decomposition of its 4 X 4-bit multiplication operation into two 2 X 4-bit multiplications. The products formed in these component multiplications feed a 6 X 4-bit adder whose output sum array comprises the 6 most significant multiplier output bits.

The multiplier binary inputs (with each a,, or a,, l and b,, 0 or b l) are expressed as and N, (0,2 11 2 (1,2 a (1),,2 17 2 (0 2" (1 2 (1,2 a (17,2 b,,)

N 2 [(0 2 a 2 (1,2 +a (17 2 b,)] ((1 2 (1 2 (2,2 a,,) (b,2 b,,)

In the last equation, the product, N is expressed as the sum of the products formed in two component 2 X 4-bit multiplications in which the first 2 X 4-bit product is weighted by 2 before it is added to the second. Binary expansions for each of the 2 X 4-bit products are T= T 2 T 2 T 2 T 2 T,2 T 2 and so that N, N, N is expressable as N 2 (T525 T424 T323 T222 1,2 T 2 5,2 2 5,2 5,2 5

A graphical delineation of operations performed when the 4 X 4-bit multiplication implements this latter expression is as follows:

5 4 1; 2 1 o T T T T, T (2 T) 5 5 4 a 2 CI o 3) where the C,- are the coefficients in the binary expansion of the product N N, N It is also to be noted that the Ts coefficient array is shifted two places to the left relative to the S array since T is multiplied by 2 It is also noted that the summation S 2 1' cannot require a carry-propagation beyond the 2 place, because the product of two 4-bit numbers requires only an 8-bit binary expansion.

The graphical presentation above schematically delineates a logic partition for a 3-stage 4 X 4-bit binary multiplier synthesis which serves as a starting point in its design. In that partition, two parallel one-stage logic block arrays synthesize the coefficients in S and in T. The S and S, S-coefficients are the coefficients C and C, in the expansion for N N, N and are therefore output from the multiplier, as they are at the S-array logic block outputs.

The remaining S-coefficients and all of the T- coefficients are fed to a two stage array which implements a 6 X 4-bit addition in a modified version of a 4-bit Adder as shown in FIG. 1. In that and subsequent FIGS, the following symbols are used to represent the designated gates:

SYMBOL GATE I GATE AND" GATE Continued GATE EXCLUSIVE -OR GATE INVERTED OUTPUT WIRED u n SYMBOL Functionally the 6 X 4-bit adder first implements a conventional 4 X 4-bit addition of the numbers has been used, it should be noted that X the output from block 18, is:

that X (from block 16) is:

(55 T3) (54 T2) X2 while X, (from block 14) is:

Furthermore, it should be no ted tha t L is formed by means of a wired OR from X and X The output C from portion 24 of block '24 is given by:

The formation of digit C within block 22 may be written symbolically as:

The coefficients C C C C are the 3rd through 6th multiplier output bits. The remaining operation performed in the 6 X 4 bit adder is equivalent to that of adding the number C2 produced in the first addition to the number I T 2 T 2 defined by the remaining T coefficients input to the adder. The sum t C2 encodes the last two of the 4 X 4-bit multiplier outputs. Thus, only two stages are required, as would be true of a 4 X 4-bit adder.

The logic functions which generate the 2 X 4-bit multiplications are specified in Table 1.

FIG. 2 depicts a logic partition for the complete 4 X 4-bit multiplier in which the 6 4 Adder and the array of logic blocks implementing S&T coefficients are combined. This diagram specifies the logical requirements of each logic block (in terms of an equivalent simple network involving AND, OR, EXCLUSIVE-OR, and INVERSION gates) and the interblock connections required. Since several different kinds of circuitry, other than cascode cells might be used to implement the logic function specified for each box, FIG. 2 defines a family of 3-stage multiplier designs includ ing the cascode cell implemented design of FIG. 6. The logic design shown in FIG. 2 is therefore the key to a complete understanding of this aspect of the present invention.

However, it should be noted in FIG. 2, logic blocks at the second level (10 through 18) generate logic functions of the first level through 41) outputs (the S s and TS) which are used more than once at the third level (20 through 26).

But as will become more clear hereinafter, in the specific embodiment shown in FIG. 6, the first level functions T S and T are not generated explicitly, but are only partially" generated at the first level. The completion of T and S occurs within logic blocks at the second level where these functions are further combined with other S & T functions. Therefore, T and S are never observable logic signals. The completion of T occurs within a third level logic block (cells 133 and 134 of FIG. 6), but it too is never observable because it is further combined with other signals in these cells.

3-Stage, 34 Cascode Cell 4 X 4-Bit Multiplier Logic Design Two kinds of design refinements were undertaken in converting the logic partition of FIG. 2 to the design shown in FIG. 6. The first type of refinement involved utilization of special properties relating to some of the S and T,- functions.

TABLE I BOOLEAN EXPRESSIONS FOR MULTIPLIER S&T

FUNCTIONS As an example of this type of simplification, it is noted here that the T and T functions are disjoint (that is, their Boolean product, T T is the zero function). In addition, it can be shown that T a b T Because of this, the C output of the multiplier can be simplified as shown in FIG. 3. Because T T O, the parity function 27 in the ULG generating C may be replaced with an OR gate 31. Since cells can generate OR functions more economically than parity functions, the cell count required in the ULG is reduced. Because T a b i, it is not really necessary to generate T with the first level gate 41 as shown in FIG. 2. Instead it can be generated internally from a b and T in the second level gate 30 of FIG. 3.

The second class of design simplifications involves making a broader, more general use of the cascode cell's synthesis capabilities. FIG. 4 comprising FIGS. 4a and 4b shows (FIG. 4a) the single cell synthesis of a complex 4-input function, C, a b a,b No single conventional gate and no pair of conventional gates can perform that synthesis. In this and subsequent figures, X, Y, and Z defined respectively as:

represent input functions, the cell 40 produces the output functions:

and the load cells 42 and 43 provide a wired AND function.

FICi. 4b shows the synthesis of the six variable func tion T utilizing the cells 45 and 46 and two load cells 47 and 48. It is noted there that output e.g. 49 and collector-dot e.g. 50 connections used are just those required in the synthesis of typical 4-variable functions and therefore, no additional delay is encountered. As explained in the above referenced co-pending application, such a connection prior to the load cells 47 and 48 is the logical equivalent of an AND gate, while such a connection following load cells is the equivalent of an OR gate.

In some cases, two cell, l-stage syntheses of very complex functions such as 5 T and S arent possible without exceeding the collector-dotting limits imposed in 2-cell 4-variable function synthesis to limit delay. In these cases partial functions 5,, T and 8 are synthesized in 2-cell blocks and then each respective synthesis is completed at a succeeding stage which might otherwise not be used to its fullest capability. The synthesis of the function L, is shown in FIG. 5, which involves the functions 9 and S to demonstrate the Way the functions 5,, and S are completed at the second stage comprising ULG cells 124 and 125 (see also FIG. 6).

After several simplifications of the types discussed above, the final design of FIG. 6 emerges. There, each block is a 2-level cascode cell and the entire design is implemented in 3 stage delays by the 34-cell array.

It is noted in particular that the 5-variable fundtions S and T as well as the 6-variable functions 3 and T are each realized in 2cell blocks, indicated by reference numerals 61, 62, 63, and 64 respectively. The cell collector and load cell interconnections there are precisely those used most frequently in 4-variable function synthesis. Moreover, the 4-variable function T was realized in a single cell 105 as, of course, were S (=C and Shd I (=C,).

Of the remaining S and T functions, T isnt implemented because of the simplification shown in FIG. 3, while S S and T are implemented as S S b 5., S, b, and T T, b Here the 5-variable functions 5 S1,, and T are each realized by a 2-cell block again with the 2 cells interconnected as in typical 4-variable function synthesis.

FIG. 6 is the wiring diagram which may be used to designate the multilayer metal routing and cell interconnection large scale integration LSI version of multiplier. In the figure, each box signifies a cascode cell (circuit). The numbers in the smaller boxes along the inside vertical edges of each cell (symbol) designate the bonding pad numbers for the individual cell IC dies. This numbering would be different if a different IC cell layout format were used. The letters of block 1 15, however, identify the cell inputs (X,Y,Z) and output current nodes (A,B,C,D) and the arrows identify load cell input and output nodes. These functional designations are the same for all cells in the figure and are defined in greater detail in the above referenced Universal Logic Gate" Application. Consequently, the wiring diagram of FIG. 6 therefore specifies the logical operation of the array.

Referring to FIG. 6, it is noted that the multiplier input signals 60 (and their logical complements) incoming at the upper left of the drawing are fed to cell inputs. Outputs from the first row of cells (101 through whose inputs are entirely comprised of the multiplier input signals, are fed to cells in the second and third rows or generate multiplier outputs directly (cells 101 and 102). Inputs to the second row of cells (116 through 126) are either multiplier input signals or are derived only from outputs from cells in the first row. Cell 1 16 produces the third multiplier output bit and all other outputs from cells in the second row drive third r ow cells (127 through 134). Multiplier inputs H and b feed cell 134 along with signals produced in the second row. In this regard, it should be noted that L m +T ).(5 +T );thatL =I Z ;andthatK =L,+L where K is formed as a wired OR. Otherwise, cells in the third row are fed exclusively by signals output from cells in the first and second rows. All remaining multiplier output signals are produced by cells in the third row. In no case is any output from a cell in any row fed to an input of another cell in the same or higher row (constant programming signals are fed to cells 101, 1 l8, and 123 from load cell outputs from other cells in the same row, however). Consequently, the cells are interconnected in a feed forward only manner and therefore the multiplication delay is that subtended by only 3-cell-stages.

Logic Design of a 3-Stage 3 X 4-bit 2s Complement Binary Multiplier The same techniques employed in the design of the 3 stage, 4 X 4-bit (all positive) binary multiplier described in detail above, can be used to design a 3-stage 4 X 4-bit 2s complement multiplier (FIG. 7). The mathematical logic partition approach is identical and the resulting design utilizes nearly the same hardware configuration for two reasons. First, as is well known, the 4 least significant output bit functions are identical to those of the (all positive) multiplier. Second, most of the internally generated S and T functions are the same, also. Moreover, the two most significant output bits of the 2s complement multiplier, while different functions from those in the all positive multiplier, are actually easier to generate than their counterparts.

The foundation of the 4 X 4-bit twos complement multiplier design is the decomposition of the 4 X 4-bit multiplication operation into two 2 X 4-bit multiplications. The products formed in these component multiplications feed a 4-bit modified adder whose output sum array comprises the central four of the eight multiplier output bits. (The two least significant and the two most significant output bits are generated directly by relatively simple logic and are not outputs of the adder).

The multiplier inputs in twos-complement coding are expressed as:

where the constants a,- and b,- are either 0 or I. Note that a and b;, are each preceded by a negative sign so that the first term of each expression has a value of either O or 8. The numbers that can be encoded by the above expressions will therefore range from 8 to +7.

The product N, N N defined by added to the second. Before this weighting, the first product is a number between -14 (7 X 2) and +7 (7 X The second product is a number between 24 (31 8 X 3) and 21 (7 X 3). Therefore,'the twos complement encodings for each of these 2 X 4-bit products are T= "T 2 T,,2 T 2 T,2 T (T, 0.1)

and

S 2 2 4 2 5,2 5,2 S (S, 0.1)

so that N,, N, N is expressable as N 2 T s N 2 (T.,2 T 2 T 2 T,2 T (S 2 5,2 2 S 2 S,2 S

A graphical delineation of operations performed when the 4 X 4-bit multiplication implements this expression is as follows:

s S4 S3 S2 1 o i T, T T T, T

where the C, are the coefficients in the binary expansion of the product N N, N

The adder 71 used in this embodiment is a modified 4-bit adder in the following two respects: First, 5,, has negative weight (thus subtracting from the sum instead of adding) and second, the last carry or borrow is ignored because it affects only C, and C which are generated separately. The equations for the output bits of the modified adder are shown in Table 2 and its logic synthesis appears within the dashed area 71 of FIG. 7. A two-stage, eight-cell synthesis is made possible by using wired-logic 72 to synthesize the last exclusive OR operation in the generation of C It differs from the adder (FIG. 2) in the real multiplier only in the generation of C and the output carry bit. Note that T's coefficient array is shifted two places to the left relative to the S array since T is multiplied by 2 and that S and T, carry negative weights in the summands S and 2 T. The product N will assume values between 56 (7 X 8) and 64 (8 X 8), so the seven positively weighted bits C through C are required to represent positive values of N These bits are used in conjunction with an additional sign-bit" C (which has a weight of l 28) to represent negative numbers. Inspection of the above addition S 2 T reveals that S and S, S-coefficients are the coefficients C and C, in the expansion for N N, N and are therefore output from the multiplier as they are at the -array logic block outputs. Since the sign bit C, and the bit C can be generated directly with a small amount of logic (resulting in minimum delay), the only remaining bits of S 2 T to be generated are C through C thus, only a modified 4-bit adder is required. The graphical delineation of this modified adder is as follows:

+ T3 T2 T1 o C, C, C3 C:

Table 2 gives the Boolean expressions for the output bits of the modified adder.

TABLE 2 BOOLEAN EXPRESSIONS FOR 2S COMPLEMENT 4 X 4-BIT ADDER OUTPUTS The logic functions which generate the 2 X 4-bit multiplications are specified in Table 3. Table 4 shows the logic functions which generate the output bits C and TABLE 3 BOOLEAN EXPRESSIONS FOR 2S COMPLEMENT MULTIPLIER S AND T FUNCTIONS T (1 b, i s 9 o a 1 2) and T aabg 69 (1 b, $17 (0 a (a,b

TABLE 4 BOOLEAN EXPRESSIONS FOR BITS c AND c OF MULTIPLIER c 5 2,2 6, .EJE c, where C =(a $b3) (Clo'ifl +a +a 'i'b A logic synthesis of the complete 2s complement 4 X 4-bit multiplier is shown in FIG. 7. The synthesis of the internal functions 5,, through S and T T, are not shown explicitly because these functions are identical to those in the (all positive) 4 X 4-bit binary multiplier. In the diagram, each block contains a gate equivalent circuit suggestive of its cascode cell implementation.

The numbers in the lower right-hand corner of each logic block indicate the number of cascode cells required to synthesize the blocks function.

It has been noted that in the block 73 (comprising two cascode cells) the AND Gate 74 may be implemented as a wired AND within the cascode cell and the OR gate 75 may be implemented as a wired or using a spare load cell as herein before described, thereby ORing the output from blocks 73 and 76.

Construction of Larger Multipliers using 4 X 4-bit Multipliers as Components Frequently for relatively low volume applications it is both expedient and economical to construct func tional units such as multipliers from available components even though this does not result in an optimal design. The reason for this approach is that the requirements (e.g., 8 bits or 11 bits) imposed on multipliers differ from application to application and the volume requirements are seldom sufficient to justify the design and tooling costs associated with custom multiplier mechanization. Since these constraints are imposed on the manufacture of many systems such as smallvolume computer peripheral equipments, there has been for some time a need for a very high speed multiplier for use as a component in the mechanization of larger multipliers.

An extension of the same basic logic partition scheme embodied in the internal design of the 4 X 4-bit multiplier of the present invention can be used to derive the design of larger multipliers in which the individual 4 X 4-bit multipliers are used as components along with standard full-carry-look-ahead adders. The methodology is demonstrated below through the detailed description in a preferred embodiment of an 8 X 8-bit multiplier. The resulting multiplier is found to require an overall serial delay of gating stages.

8 X 8-Bit Real Multiplier Design The 8 X 8-bit multiplier generates the product N N N where k 11,? and the product with every c d P either I or O.

The logic partition is initiated by expressing N and N as N 2 A C N 2% D where A, B, C, and D are non-negative integers, each having a 4-bit binary representation. Then the product, N may be written as A useful representation of the latter sum expression in partial product notation is suggested below.

-Continued I5 H L'I I'Z Il IH II K T H S -I ZI 2 I II I The above partial product array is representative of the logic design described in the following and shown in block diagram form in FIG. 8. In the design, the products CD, BC, AD. and AB are generated first by a parallel array of 4 4X4-bit multipliers 81 through 84.

The term 2 (BC AD) is developed from the 4X4 multiplier output array through 8 X 8-bit adder 85. Its inputs are the BC and AD terms shown as X 7 and Y Y resp. in FIG. 8. The 2 weighting of the sum is developed implicitly in the way that the adders output array is subsequently used.

The term 2 14B -l- CD is generated implicitly by a simple concatenation of the AB and CD arrays. No actual addition is performed in forming this term because the 2 weighting of the AB array makes all of its nonzero bits disjoint from those of the CD array.

The four least significant bits (LSBs) produced in this array by the multiplier forming the CD product are shown as W W in FIG. 8. These components of the 2 /18 CD sum are disjoint from the LSBs of the sum 2*(BC AD) as shown eariler in the partial products diagram. Consequently, W W make up the 4 LSBs of the ensemble multiplier output and are fed to its output array where they are relabeled as P P respectively.

The fourth through the twelfth bits of the ensemble multiplier output array are generated by a second 8 X 8-bit adder 86. Its inputs are the entire output of the first adder (2 (BC AD)) and the middle 8 bits of the 2 148 CD terms, denoted by Z, Z and W W in FIG. 8. This adders outputs constitute multiplier output bits P P The final four MSBs of the overall adder are formed by adding the two adder carry outputs C 1 and C to the last Z Z bits of the 2 AD CD array. This addition can be performed using a commercially available 4-bit adder such as the Motorola MC 10121. A reduction in overall multiplier delay of about 23 stages can be achieved, however, by using special carry propagate logic circuitry 87 to take advantage of the properties of this particular application. When ULG/cascode cells are used to implement this circuit, it can perform the required operations in just one additional gating stage.

Carry Propagate Logic Circuit The logical expressions for the output bits P P from the carry propagate logic circuit are as follows:

P 2 9 C e C A logic design for the carry propagate circuit which generates these bits is shown in FIG. 9. This design uses 13 cascode cells comprising blocks 91 through 96 and is illustrated using the same symbology as was used in FIG. 7. It is to be noted that OR gate 97 is a wired OR. From FIG. 8 it is evident that the variable C arrives at the circuit of FIG. 9 via a path subtending 9 serial gating stages, and that all other variables arrive via paths subtending at most 6 serial stages. The circuit therefore introduces only one additional gating stage delay in the 

1. A 4 by 4 bit multiplier for multiplying a first 4-digit binary number A A0 2.A1 + 4.A2 + 8.A3 by a second 4-digit binary number B B0 + 2.B1 + 4.B2 +
 8. B3 to form an 8-digit binary product C C0 + 2.C1 + 4.C2 + 8.C3 + 16.C4 + 32.C5 + 64.C6 +
 128. C7, said multiplier comprising: a first set of gating means for forming the individual digits S0, S1, S2, S3, S4, S5 of a 6-digit binary number S (B0 2.B1) .(A0 + 2.A1 + 4.A2 + 8.A3) S0 + 2.S1 + 4.S2 + 8.S3 + 16.S4 + 32.S,; a second set of gating means for forming the individual digits T0, T1, T2, T3, T4, T5 of a 6-digit binary number T (A0 + 3.A1 + 4.A2 + 8.A3) .(B2 + 2.B3) T0 + 2.T1 + 4.T2 + 8.T3 + 16.T4 + 32.T5; and a 6 by 4 bit adder for forming the sum of said 6-digit binary number T and a second 4-digit binary number formed from the 4 most significant digits of said 6-digit binary number S to form the 6 most significant digits of said 8-digit number, said adder comprising: first first-level gating means for forming a first intermediate logical variable X1 (S5 AND T3) OR ((S5 OR T3) AND (S4 AND T2)); second first-level gating means for forming a second intermediate logical variable X2 (S5 OR T3) AND (S4 OR T2); third first-level gating means for forming a third intermediate logical variable X3 (S3 AND T1) OR ((S3 OR T1) AND S2 AND TO); first second-level gating means responsive to said S4 and S5 digits and to said T2 and T3 digits as well as to said intermediate variable X3 for forming said digit C5; second second-level gating means responsive to said intermediate variables X1, X2, and X3 as well as to said variable T4 for forming said output digit C6; and third second-level gating means responsive to said intermediate variables X1, X2, X3 as well as to said T4 and T5 digits for forming said C7 digit; wherein said CO is identical to said SO, wherein said C1 is identical to said S1, and wherein said digits C2, C3, C4, C5, C6, and C7 are the outputs of said adder.
 2. A logic circuit for use in a 4 by 4 binary multiplier to produce the most significant bit of output therefrom, said circuit being responsive onLy to five logical variables (A3, B3, T4, L1 and X1) and comprising: a first level OR gate for forming the logical sum of said variable X1 with the negative of said variable L1; a first second level AND gate for forming the logical product of the output of said OR gate and said variable T4; a second second level AND gate for forming the logical product of said variable T4, said variable B3 and said variable A3; and a third level OR gate for forming the logical sum of the output of said first second level AND gate and the output of said second second level AND gate to form said variable C7.
 3. An 8 by 8 bit multiplier for forming the product of a first 8-bit binary number N1 C + 16.A by a second 8-bit binary number N2 D + 16.B, said multiplier comprising: a first 4 by 4 bit binary multiplier for forming the product A.B; a second 4 by 4 bit multiplier for forming the product C.D; a third 4 by 4 bit multiplier for forming the product B.C; a fourth 4 by 4 bit multiplier for forming the product A.D; a first 8 by 8 bit adder responsive to the outputs of said third and fourth multipliers for forming the sum of said outputs as an 8 bit partial product as well as a first carry bit; a second 8 by 8 bit adder responsive to the four most significant bits output by said second multiplier and to the four least significant bits output from said first multiplier, as well as to said partial product, for forming the 5th through 12th bits of output and a second carry bit; and carry propagate logic means responsive to the four most significant bits of output from said first multiplier as well as to said first and said second carry bits for forming the 13th through 16th output bits.
 4. The 8 by 8 bit multiplier of claim 3 wherein said carry propagate logic comprises a plurality of universal logic gates including but a single level of said gates responsive to said second carry bit, the output from any universal logic gate in a given level being independent of the output of any other such gate in said given level, whereby only one additional stage of propagation delay is introduced by said carry propagate logic in addition to those stages of propagation delay already required for the generation of said second carry bit.
 5. A 4 by 4 bit multiplier for multiplying a first binary number A A0 +2. A1 + 4 A2 - 8.A3 by a second binary number B B0 + 2.B1 + 4.B2 - 8.B3 to form the 8-digit binary product C C0 + 2.C1 + 4.C2 + 8.C3 + 16.C4 + 32.C5 + 64C6 - 128.C7, said multiplier comprising: a first set of gating means for forming the individual digits of a binary number S (B0 + 2.B1) (A0 + 2.A1 + 4.A2 - 8.A3) S0 + 2.S1 + 4.S2 + 8.S3 + 16 .S4 - 32.S5; a second set of gating means for forming the variable T (B2 -2.B3) (A0 + 2.A1 + 4.A2 - 8.A3) T0 + 2.T1 + 4.T2 + 8.T3 -16.T5; and An adder comprising: first first-level gating means for forming a first intermediate variable X1 T1 + S3; second first-level gating means for forming a second intermediate variable X2 (T1 AND S3) OR ((T1 OR S3) AND S2 AND T0); third first-level gating means for forming an output digit C2 responsive to the S2 and T0 digits of said number S and T respectively; first second-level gating means responsive to said S digits and to said T digits as well as to said first intermediate variable X1 for forming said digit C3; second second-level gating means responsive to said S digits and to said T digits as well as to said second intermediate variable X2 for producing said digit C4; third second-level gating means for forming a third intermediate variable X3 T2 (S4 , T2 , X2), the right hand expression signifying a Threshold function True whenever two or more of its arguments are True, said third second-level gating means being responsive to said second intermediate variable X2 as well as to said digits T2 and S4; fourth second-level gating means for forming a fourth intermediate variable X4 T3 + S5; and wired gating means for forming the digit C5 X3 + X4 by the suitable cross connection of signals representative of variables X3 and X4 and their complements X3 and X4. 